Este recurso é a chave para fazer sites responsivos, ou seja, que adequam o layout da página de acordo com o tamanho da tela.
Por exemplo, se estou exibindo a página num micro posso querer uma fonte grande mas numa tela de celular devo escolher uma fonte menor.
Tipos de mídias (Midia Types):
| Tipo Dispositivo |
Utilização |
| all |
todos os dispositivos |
| aural |
sintetizadores de voz |
| braille |
leitores de Braille |
| embossed |
impressoras de Braille |
| handheld |
dispositivos de mão. Por exemplo: celulares com telas pequenas. |
| print |
impressoras convencionais |
| projection |
apresentações de slides |
| screen |
telas coloridas |
| tty |
teleimpressoras e terminais |
| tv |
televisores |
Exemplo de uso : <link rel="stylesheet" media="print" href="print.css">
Exemplos de resolução de telas:
| Resolução (pixels) |
Aparelho |
| 320 |
Smartphones no modo retrato |
| 480 |
Smartphones no modo paisagem |
| 600 |
Tablets pequenos. Ex.: Amazon Kindle (600px x 800px) |
| 768 |
Tablets maiores no modo retrato. Ex.: IPad (768px x 1024px) |
| 1024 |
Tablets maiores no moto paisagem e monitores mais antigos |
| 1200 |
Monitores tipo wide |
Limites Responsivos(Responsive Breakpoints):
São limites que o bootstrap utiliza para caracterizar oo tamanho da tela (largura) de um tipo de dispositivo.
// Small devices (landscape phones, 576px and up)
@media (min-width: 576px) { ... }
// Medium devices (tablets, 768px and up)
@media (min-width: 768px) { ... }
// Large devices (desktops, 992px and up)
@media (min-width: 992px) { ... }
// Extra large devices (large desktops, 1200px and up)
@media (min-width: 1200px) { ... }
Importante : A altura da tela não é considerada porque no bootstrap como ele é mobile first ele detemina que haverá uma tela de scroll vertical.
Veja :
Documentação
Alinhamento responsivo
Este recurso define como o texto deve ser exibido dependendo da largura da tela.
| Sigla |
Utilização (menor ou igual a xxx pixels) |
| sm |
576 |
| md |
768 |
| lg |
992 |
| xl |
1200 |
Layout responsivo é a capacidade de formatar os elementos da página de acordo com a capacidade do browser em exibí-los.
Importante :
1 - O bootstrap utiliza a metodologia Mobile-First, ou seja, sempre dá prioridade a formatação em dispositivos móveis.
Por esse motivo ao simplesmente aplicar o bootstrap numa página ele fica com um formato muito diferente, pronto para o celular praticamente.
2 - A css tem papel fundamental neste design. Todos os media queries estão na css.
3-Neste exemplo alteramos apenas a tag h1 (Layout Responsivo) e a cor de fundo do body.
Antes de entrarmos nos detalhes das media-queries convém explicar seu nível superior - os media-types.
Media Types: São os tipos de media que utilizamos para exibir o documento html.
Eles determinam o formato geral do documento, os limites da media mas não em detalhes do documento.
O media-types podem ser :
all – todos os dispositivos
aural – sintetizadores de voz
braille – leitores de Braille
embossed – impressoras de Braille
handheld – dispositivos de móveis ou de mão. Por exemplo: celulares com telas pequenas.
print – impressoras convencionais
projection - apresentações de slides
screen- telas coloridas
tty - teleimpressoras e terminais
tv- televisores
Exemplo de uso :
<link rel="stylesheet" media="print" href="print.css">
Portanto, o bootstrap antes de formatar os media-queries formata os media-types para que, por exemplo, o documento possa ser impresso ou visto corretamente.
O media-type default do bootstrap é o screen que adota a seguinte resolução de telas:
320 pixels - Smartphones no modo retrato
480 pixels - Smartphones no modo paisagem
600 pixels - Tablets pequenos. Ex.: Amazon Kindle (600px x 800px)
768 pixels - Tablets maiores no modo retrato. Ex.: IPad (768px x 1024px)
1024 pixels - Tablets maiores no moto paisagem e monitores mais antigos.
1200 pixels - Monitores tipo wide.
Note que o media-querie é ativado quando entramos no modo a que ele define a formatação.
Portanto ao exibir um documento ele primeiramente aplica o formato para aquele padrão na montagem da página.
Ao redimensionarmos a tela, por exemplo, ao aumentarmos a tela de 100 a 319 pixels nada acontece mas ao atingir a largura de 320 px um novo estilo é aplicado.
Portanto, o correto seria afirmar que existe um range para aplicação do media-querie.
Se existe uma definição para aquele formato, ele aplica, senão permanece o anteriormente aplicado.
Portanto, definimos um range de atuação para o media querie.
Veja um exemplo:
@media (min-width: 992px) and (max-width: 1199.98px) {
h1 {
font-size: 5em;
}
}
Portanto, qando a tela tiver de 992px até 1200px a fonte será aumentada para 5em.
Para que o efeito ficasse mais claro, resolvi aplicar cor difentes no background para cada formato.